home *** CD-ROM | disk | FTP | other *** search
/ ASME's Mechanical Engine…ing Toolkit 1997 December / ASME's Mechanical Engineering Toolkit 1997 December.iso / c_lang / msgraph.lzh / CI.ASM next >
Assembly Source File  |  1987-04-29  |  768b  |  36 lines

  1. ; CI.ASM - No-wait keyboard input routine designed for use with
  2. ;          Microsoft C programs. Function ci() returns -1 if there
  3. ;          is no keyboard input ready; otherwise it returns the
  4. ;          character read from the keyboard.
  5.  
  6. SMALL    EQU    0
  7. LARGE    EQU    1
  8.  
  9. CODE_M    equ    SMALL    ; Set according to code model being used
  10.  
  11. _TEXT    segment para public 'CODE'
  12.     assume    cs:_TEXT
  13.     public    _ci
  14.  
  15.     if    CODE_M
  16. _ci    proc    far
  17.     else
  18. _ci    proc    near    ; read character from keyboard
  19.     endif
  20.  
  21.     mov    ah,1
  22.     int    16h
  23.     jz    nochar
  24.     mov    ah,0
  25.     int    16h
  26.     or    al,al
  27.     jz    _ci1    ; if extended code
  28.     xor    ah,ah    ; if not, zero high byte
  29. _ci1:    ret
  30. nochar:    mov    ax,0ffffh
  31.     ret
  32. _ci    endp
  33.  
  34. _TEXT    ends
  35.     end
  36.